﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using BE_CruzDelSur;
using BR_CruzDelSur;
using BR_CruzDelSur.Interfaces;

namespace WebCruzDelSur
{
    public partial class ImprimirDetalleCarga : System.Web.UI.Page
    {
        IBR_Util util = new BR_Util();
        IBR_Carga carga = new BR_Carga();
        IBR_Movimiento movimiento = new BR_Movimiento();
        IBR_ProgramacionRuta programacionRuta = new BR_ProgramacionRuta();
        IBR_Producto producto = new BR_Producto();
        IBR_Cliente cliente = new BR_Cliente();
        public static List<BE_Producto> lstProd = new List<BE_Producto>();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["Usuario"] == null)
            {
                lblMensaje.Text = "Debe autenticarse en el sistema. ";
                divContenedor.Visible = false;
                return;
            }

            if (Request.QueryString["CodigoCarga"] == null)
            {
                divContenedor.Visible = false;
                lblMensaje.Text = "El código de carga ingresado no es válido";
                return;
            }

            string CodigoCarga = Request.QueryString["CodigoCarga"].ToString();
            BE_Carga entidad = carga.f_obtenerCarga(CodigoCarga);

            lblCodigoCarga.Text = entidad.secuenciaCarga;

            BE_ProgramacionRuta pr = programacionRuta.f_BuscaProgramacionXCodigo(entidad.CodigoProgramacionRuta);

            lblAgencia.Text = pr.NombreAgencia;
            lblTransporte.Text = pr.TipoTransporte;
            lblTipoServicio.Text = pr.TipoServicio;
            lblDireccionAgencia.Text = pr.DireccionAgencia;
            lblFechaOrigen.Text = pr.FechaOrigen + " " + pr.HoraOrigen;
            lblFechaDestino.Text = pr.FechaDestino + " " + pr.HoraDestino;
            int CodigoCargaID = util.f_intValor(CodigoCarga);

            List<BE_Movimiento> lst = movimiento.f_ListarMovimientosCarga(CodigoCargaID);

            gridCarga.DataSource = lst;
            gridCarga.DataBind();

            lblSinResultados.Visible = !(lst.Count() > 0);  

            String strJavascriptFunctions = "setTimeout(function(){window.print();}, 3000);";
            ClientScript.RegisterStartupScript(this.GetType(), "Alerta", strJavascriptFunctions, true);
        }
    }
}